/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.carrito.jsf.bean;

import com.carrito.jsf.bo.PedidoImplBO;
import com.carrito.jsf.persistence.Cliente;
import java.util.Date;
import java.util.List;
import javax.annotation.PostConstruct;

/**
 *
 * @author oscarc
 */
public class BeanPedido {

    private Integer numero;
    private Date fecha;
    private String obs;
    private Integer situacion;
    private Cliente cliente = new Cliente();
    //crea un atributo del tipo lista
    private List<BeanPedido> listaPedidos;
    private List<BeanPedido> listaPedidosFiltro;
    //instancia la clase de implementacion donde extiende la interface BO
    private PedidoImplBO pedidoBO;

    public String insertar() {
        getPedidoBO().insertar(this);
        consultar();
        return "";
    }

    public String anular() {
        getPedidoBO().anular(this);
        consultar();
        return "";
    }

    public String actualizar() {
        getPedidoBO().actualizar(this);
        consultar();
        return "";
    }

    public String abrirFormActualizar() {
        return "pedido";

    }

    public String volverConsulta() {
        return "pedidoConsulta";
    }

    @PostConstruct
    public void consultar() {
        setListaPedidos(getPedidoBO().consultar());
    }

    /**
     * @return the numero
     */
    public Integer getNumero() {
        return numero;
    }

    /**
     * @param numero the numero to set
     */
    public void setNumero(Integer numero) {
        this.numero = numero;
    }

    /**
     * @return the fecha
     */
    public Date getFecha() {
        return fecha;
    }

    /**
     * @param fecha the fecha to set
     */
    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }

    /**
     * @return the obs
     */
    public String getObs() {
        return obs;
    }

    /**
     * @param obs the obs to set
     */
    public void setObs(String obs) {
        this.obs = obs;
    }

    /**
     * @return the situacion
     */
    public Integer getSituacion() {
        return situacion;
    }

    /**
     * @param situacion the situacion to set
     */
    public void setSituacion(Integer situacion) {
        this.situacion = situacion;
    }

    /**
     * @return the listaPedidos
     */
    public List<BeanPedido> getListaPedidos() {
        return listaPedidos;
    }

    /**
     * @param listaPedidos the listaPedidos to set
     */
    public void setListaPedidos(List<BeanPedido> listaPedidos) {
        this.listaPedidos = listaPedidos;
    }

    /**
     * @return the pedidoBO
     */
    public PedidoImplBO getPedidoBO() {
        return pedidoBO;
    }

    /**
     * @param pedidoBO the pedidoBO to set
     */
    public void setPedidoBO(PedidoImplBO pedidoBO) {
        this.pedidoBO = pedidoBO;
    }

    /**
     * @return the cliente
     */
    public Cliente getCliente() {
        return cliente;
    }

    /**
     * @param cliente the cliente to set
     */
    public void setCliente(Cliente cliente) {
        this.cliente = cliente;
    }

    /**
     * @return the listaPedidosFiltro
     */
    public List<BeanPedido> getListaPedidosFiltro() {
        return listaPedidosFiltro;
    }

    /**
     * @param listaPedidosFiltro the listaPedidosFiltro to set
     */
    public void setListaPedidosFiltro(List<BeanPedido> listaPedidosFiltro) {
        this.listaPedidosFiltro = listaPedidosFiltro;
    }
}
